#include <stdio.h>
#include <omp.h>

// apply_complexarg 函数
void apply_complexarg(double A[100 * 100])
{
    #pragma omp parallel for collapse(2)
    for (int i = 0; i < 100; ++i)
    {
        #pragma GCC unroll 5
        for (int j = 0; j < 100; ++j)
        {
            A[i * 100 + j] += 1;
        }
    }
}

int main()
{
    double A[100 * 100];

    // 初始化数组元素为 0
    for (int i = 0; i < 100 * 100; ++i)
    {
        A[i] = 0;
    }

    // 调用 apply_complexarg 函数
    apply_complexarg(A);

    // 输出部分元素来验证结果
    for (int i = 0; i < 5; ++i)
    {
        printf("A[%d] = %.2f\n", i, A[i]);
    }

    return 0;
}    
